home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 April: Mac OS SDK / Dev.CD Apr 98 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / Universal / Interfaces / PInterfaces / QTML.p < prev    next >
Encoding:
Text File  |  1998-02-12  |  4.1 KB  |  144 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        QTML.p
  3.  
  4.      Contains:    QuickTime Cross-platform specific interfaces
  5.  
  6.      Version:    Technology:    QuickTime 3.0
  7.                  Release:    Universal Interfaces 3.1
  8.  
  9.      Copyright:    © 1997-1998 by Apple Computer, Inc., all rights reserved.
  10.  
  11.      Bugs?:        Please include the the file and version information (from above) with
  12.                  the problem description.  Developers belonging to one of the Apple
  13.                  developer programs can submit bug reports to:
  14.  
  15.                      devsupport@apple.com
  16.  
  17. }
  18. {$IFC UNDEFINED UsingIncludes}
  19. {$SETC UsingIncludes := 0}
  20. {$ENDC}
  21.  
  22. {$IFC NOT UsingIncludes}
  23.  UNIT QTML;
  24.  INTERFACE
  25. {$ENDC}
  26.  
  27. {$IFC UNDEFINED __QTML__}
  28. {$SETC __QTML__ := 1}
  29.  
  30. {$I+}
  31. {$SETC QTMLIncludes := UsingIncludes}
  32. {$SETC UsingIncludes := 1}
  33.  
  34. {$IFC UNDEFINED __MACTYPES__}
  35. {$I MacTypes.p}
  36. {$ENDC}
  37. {$IFC UNDEFINED __MACMEMORY__}
  38. {$I MacMemory.p}
  39. {$ENDC}
  40. {$IFC UNDEFINED __MACWINDOWS__}
  41. {$I MacWindows.p}
  42. {$ENDC}
  43. {$IFC UNDEFINED __OSUTILS__}
  44. {$I OSUtils.p}
  45. {$ENDC}
  46. {$IFC UNDEFINED __FILES__}
  47. {$I Files.p}
  48. {$ENDC}
  49.  
  50.  
  51. {$PUSH}
  52. {$ALIGN MAC68K}
  53. {$LibExport+}
  54.  
  55. PROCEDURE QTMLYieldCPU;
  56. PROCEDURE QTMLYieldCPUTime(milliSeconds: LONGINT; flags: UInt32);
  57. {$IFC NOT TARGET_OS_MAC }
  58.  
  59. TYPE
  60.     QTMLMutex                            = LONGINT;
  61.     QTMLSyncVar = ^LONGINT;
  62.     QTMLSyncVarPtr                        = ^QTMLSyncVar;
  63.  
  64. CONST
  65.     kInitializeQTMLNoSoundFlag    = $00000001;                    {  flag for requesting no sound when calling InitializeQTML }
  66.     kInitializeQTMLUseGDIFlag    = $00000002;                    {  flag for requesting GDI when calling InitializeQTML }
  67.  
  68.     kQTMLHandlePortEvents        = $00000001;                    {  flag for requesting requesting QTML to handle events }
  69.     kQTMLNoIdleEvents            = $00000002;                    {  flag for requesting requesting QTML not to send Idle Events }
  70.  
  71. FUNCTION InitializeQTML(flag: LONGINT): OSErr;
  72. PROCEDURE TerminateQTML;
  73. FUNCTION CreatePortAssociation(theWnd: UNIV Ptr; storage: Ptr; flags: LONGINT): GrafPtr;
  74. PROCEDURE DestroyPortAssociation(cgp: CGrafPtr);
  75. PROCEDURE QTMLGrabMutex(mu: QTMLMutex);
  76. PROCEDURE QTMLReturnMutex(mu: QTMLMutex);
  77. FUNCTION QTMLCreateMutex: QTMLMutex;
  78. PROCEDURE QTMLDestroyMutex(mu: QTMLMutex);
  79. FUNCTION QTMLCreateSyncVar: QTMLSyncVarPtr;
  80. PROCEDURE QTMLDestroySyncVar(p: QTMLSyncVarPtr);
  81. FUNCTION QTMLTestAndSetSyncVar(sync: QTMLSyncVarPtr): LONGINT;
  82. PROCEDURE QTMLWaitAndSetSyncVar(sync: QTMLSyncVarPtr);
  83. PROCEDURE QTMLResetSyncVar(sync: QTMLSyncVarPtr);
  84. PROCEDURE InitializeQHdr(VAR qhdr: QHdr);
  85. PROCEDURE TerminateQHdr(VAR qhdr: QHdr);
  86. PROCEDURE QTMLAcquireWindowList;
  87. PROCEDURE QTMLReleaseWindowList;
  88. {
  89.    These routines are here to support "interrupt level" code
  90.       These are dangerous routines, only use if you know what you are doing.
  91. }
  92.  
  93. FUNCTION QTMLRegisterInterruptSafeThread(threadID: UInt32; threadInfo: UNIV Ptr): LONGINT;
  94. FUNCTION QTMLUnregisterInterruptSafeThread(threadID: UInt32): LONGINT;
  95. FUNCTION NativeEventToMacEvent(nativeEvent: UNIV Ptr; VAR macEvent: EventRecord): LONGINT;
  96. {$IFC TARGET_OS_WIN32 }
  97. FUNCTION WinEventToMacEvent(winMsg: UNIV Ptr; VAR macEvent: EventRecord): LONGINT;
  98. FUNCTION IsTaskBarVisible: BOOLEAN;
  99. PROCEDURE ShowHideTaskBar(showIt: BOOLEAN);
  100.  
  101. CONST
  102.     kDDSurfaceLocked            = $00000001;
  103.     kDDSurfaceStatic            = $00000002;
  104.  
  105. FUNCTION QTGetDDObject(VAR lpDDObject: UNIV Ptr): OSErr;
  106. FUNCTION QTSetDDObject(lpNewDDObject: UNIV Ptr): OSErr;
  107. FUNCTION QTSetDDPrimarySurface(lpNewDDSurface: UNIV Ptr; flags: UInt32): OSErr;
  108. FUNCTION QTMLGetVolumeRootPath(fullPath: CStringPtr; volumeRootPath: CStringPtr; volumeRootLen: UInt32): OSErr;
  109. {$ENDC}
  110.  
  111. CONST
  112.     kCheckDataFork                = $01;
  113.     kCheckResourceFork            = $02;
  114.     kCheckFolder                = $04;
  115.     kCheckWritable                = $0100;
  116.     kCheckReadable                = $0200;
  117.     kCheckCreatable                = $0400;
  118.  
  119. FUNCTION FileCanDo(VAR fsp: FSSpec; what: LONGINT): OSErr;
  120. FUNCTION QTMLGetCanonicalPathName(inName: CStringPtr; outName: CStringPtr; outLen: UInt32): OSErr;
  121.  
  122. CONST
  123.     kFullNativePath                = 0;
  124.     kFileNameOnly                = $01;
  125.     kDirectoryPathOnly            = $02;
  126.  
  127. FUNCTION FSSpecToNativePathName({CONST}VAR inFile: FSSpec; outName: CStringPtr; outLen: UInt32; flags: LONGINT): OSErr;
  128. FUNCTION NativePathNameToFSSpec(inName: CStringPtr; VAR outFile: FSSpec; flags: LONGINT): OSErr;
  129. {$ENDC}
  130.  
  131. {$IFC TARGET_OS_MAC }
  132. {$ENDC}  {TARGET_OS_MAC}
  133.  
  134. {$ALIGN RESET}
  135. {$POP}
  136.  
  137. {$SETC UsingIncludes := QTMLIncludes}
  138.  
  139. {$ENDC} {__QTML__}
  140.  
  141. {$IFC NOT UsingIncludes}
  142.  END.
  143. {$ENDC}
  144.